package algorithm.leetcode.I201to400;

/**
 * 尝试Q448的解法
 * 尼玛竟然一边过
 * 其实仔细想想, 题目保证了 nums 中只有一个整数出现两次或多次 ，其余整数均只出现一次 Q448的方法是可以用的
 */

public class Q287 {

    public int findDuplicate(int[] nums) {
        for (int num : nums) {
            int index = (num-1) % nums.length;
            nums[index] += nums.length;
        }

        for (int i = 0; i < nums.length; i++) {
            if (nums[i] > 2 * nums.length) return i+1;
        }
        return 0;
    }

}
